1. Field of the Invention
The present invention relates to improvements in a method for calculating a speed estimated value in a speed control system of a motor.
2. Description of the Background Art
U.S. Pat. No. 5,325,460 discloses a calculation process for a speed estimation in a speed control system. Such speed estimation process is arranged to estimate a speed of a motor under an extremely low speed condition such that information of speed detection is not obtained by each speed control calculation, by means of a speed estimation observer. FIG. 5 shows a control block diagram of such a speed estimation observer. In FIG. 5, the speed estimation observer is enclosed by two-dot chain line, a reference mark (i) indicates that a mark with (i) is related to a speed control period (interval), and reference mark (j) indicates that a mark with the mark (j) is related to a speed detection period (interval). A deviation detector 11 receives a torque command .tau..sub.M *(i) and a load torque estimated value (j). The deviation output is supplied to a first calculating block 12. The first calculating block 12 includes a division block 12a in which the speed control period T.sub.ASR is divided with a motor inertia T.sub.M *, an integrator 12c and an adder 12b which adds an output of the division block 12a to an output of the integrator 12c.
The model output estimated value (i) derived by the first calculating block 12 is supplied to an averaging process calculating block 13. The averaging process calculating block 13 derives the average value during the pulse intervals and outputs the calculated result denoted by (j) to a plus input end of a first deviating block 12. A minus input end of a first deviating block 14 receives a detected speed value n.sub.M (j) of the speed detection output detected by a pulse encoder 15.
The deviation output of the first deviating block 14 is supplied to an observer gain block 16 which provides a predetermined (generally proportional) gain for the input deviation value to output a load torque estimated value (j). In addition, the deviation output of the first deviating block 14 is supplied to a minus input end of a second deviating block 17. A plus input end of the second deviating block 17 receives the model output estimated value (i). The second deviating block 17 outputs the speed estimated value (i). The speed estimated value (i) and the speed set value n.sub.M *(i) are supplied to the minus input end and plus input end of a third deviating block 18. The deviation output of the third deviating block 18 is supplied to a speed amplifier 19 having a proportional gain KWC. An adder 20 adds the output of the speed amplifier 19 to the load torque estimated value (j) to derive the motor torque command .tau..sub.M *. The motor torque command .tau..sub.M * is supplied to a fourth deviating block 21 to derive the deviation from the load torque and is supplied to the motor i.e., a motor model block 22.
The deviation between the motor torque command .tau..sub.M * and load torque estimated value (i) is integrated by means of the motor inertia T.sub.M * to derive the model output estimated value (i). Next, the average value n.sub.M '(i) at the pulse interval is derived from the value (i). Further, the deviation of n.sub.M '(j) from the average value speed n.sub.M (j) during the change of pulses is calculated. This deviation is multiplied by the observer gain (g) to derive a load torque estimated value (i). Thereafter, when the deviation between the observer model output n.sub.M '(i) and the output of the first deviating block 14 is subtracted to estimate the speed during the pulses so that the estimated speed n.sub.M (i) is derived. The value of n.sub.M (i) is supplied to the speed amplifier 19 as a feedback signal to carry out the speed control for the motor. It is noted that the load torque estimated value (i) is added to the output of the speed amplifier 19 by the adder 20 to derive the torque command so that a disturbance on the load can be suppressed.
In the above-mentioned calculating method of a speed estimation observer, there are two methods of an interruption process executed during the speed detection calculating period, and a process executed during intervals of speed control period. Assuming that the present time is (i), in an interval process of the time (i), which is indicated by a reference character B in FIG. 6 and shown by a flowchart of FIG. 8, the speed estimated value (i) is calculated from the detected speed n.sub.M (j) calculated by the an interruption processing indicated by a reference character A of FIG. 6 and a torque command .tau..sub.M *(i-1) calculated in the interval processing. The torque command .tau..sub.M *(i) to be outputted at the time (i) is calculated from the speed estimated value (i) and the load torque estimated value (j). In FIG. 6, a mark x denotes motor model output, a mark o denotes a motor model speed estimated value. A reference character C denotes a motor actual speed, and SDP denotes a speed detection pulse.
As shown in FIG. 7, at a step S610 a detected speed n.sub.M (j) with respect to a speed detection pulse (j) is calculated and stored. Following this, at a step S620 an averaging process of the motor model output is executed and at a step S630 the load torque estimated value (j) is calculated and stored. In FIG. 8, at a step S710, the motor model output estimated value n.sub.M '(i) is calculated from the torque command .tau..sub.M *(i-1). Then, at a step S720, an averaging process is executed. At a step S730, the speed estimated value (i) at the time (i) is calculated. At a step S740 a speed amplifier torque command calculation for outputting a motor torque command at the time (i) is executed. At a step S750 the torque command is calculated from the load torque estimated value and the speed amplifier output.
However, the calculation of the speed estimation at the time (i) is executed on the basis of the torque command .tau..sub.M *(i-1) calculated at the previous interval (i-1). When the speed estimated value (i) at the time (i) is calculated, the torque command .tau..sub.M *(i-1) is regarded as outputted at the time (i-1). That is to say, the actual output time of the torque command .tau..sub.M *(i-1) is a moment after the speed control calculation at the time (i-1). Accordingly, the actual motor speed is changed slightly after the time (i-1) upon receiving the torque command .tau..sub.M *(i-1), as indicated by arrows in FIG. 6. Consequently, the speed estimated value obtained by the above system tends to generates a slightly offset from the actual speed as shown by a dashed line indicative of the speed estimated value and a solid line indicative of the actual speed.